我目前正在设计一个用于Rails 3.1应用程序的数据库模式.
目前,我正在使用MySQL Workbench直观地设计架构,然后手动将其转换为Rails迁移&楷模.
任何人都可以指出是否有任何解决方案可以直观地设计架构并自动(即通过脚本)转换为Rails?
谢谢!
解决方法
首先,“数据库优先”方法绝对不是使用Rails的首选方式……但如果你真的想……
如果从模式生成表,则可以配置Rails应用程序的config / database.yml文件以连接到数据库,然后调用rake db:schema:dump从数据库生成db / schema.rb文件.然后,您可以创建迁移并将db / schema.rb中的代码复制到change(或self.up)方法中.
请注意,这不会自动创建模型类 – 您必须自己创建这些类,记住在rails generate模型中使用–skip migration,并且可能需要自由使用set_table_name(将模型类映射到右侧)表名),alias_attribute(将模型属性映射到右列),也许还有set_primary_key.
对于旧版本的Rails,有一些更完整的方法来处理这类事情(Magic Model Generator和reverse_scaffold是我发现的两种),但我不知道有哪些已经升级到Rails 3.