ss-panel-rails
ss-panel-rails copied to clipboard
为什么不用db:migrate的方式?
我不大理解,这sql里面写死了数据库的名字
@roylez 如果需要修改数据库的名字的话,使用db:migrate同样需要手动去db目录下修改相关文件,如果你需要修改数据库名称,在sql文件里面改两行就行了,这不是更方便吗?
数据库的名字只存在database.yml里面,对于production的环境,我其实更加只是用环境变量。所以更改数据库名称什么的,只需要更改环境变量就好。rails自己会加载DATABASE_URL
里定义的数据库。
所以migration里面定义数据库schema,可以更贴合rake db:migrate
的流程(对于我这样在dokku上部署的更方便)。migration从你的sql也很容易改过去,我已经都改过了,大体就是底下这个样子。
class AddSiteConfigTable < ActiveRecord::Migration
def down
drop_table :site_configs
end
def up
execute <<-EOS
CREATE TABLE `site_configs` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`key` varchar(128) NOT NULL,
`value` text NOT NULL,
`updated_at` datetime NOT NULL,
`created_at` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
EOS
end
end
@roylez 你这是一个非常好的建议,改数据库只需要修改一处就可以做到。我当初偷懒了,直接使用导出sql语句就草草了事。
@timlentse 楼主 我按照你一键安装包的 形式安装了 但是做完 访问ip:3000 显示错误 。 我很疑惑。还有就是database.yml 文件应该放到哪里
@zhang2460061 database.yml 放在config目录下面,还有你的保存信息是什么?能截个图吗?
@timlentse 作者你好,我也遇到了上述问题。 请问这个config的具体路径是什么,是在根目录下吗? 我直接vi /config/database.yml 编辑无法保存,提示的是无法打开文件和读写。 我也试过放到其他目录,然后也是不能访问。
@ianiceice 不是/config/这个目录下,是这个repo下面的config目录。
@timlentse 能不能教一下具体怎么做,repo命令什么的也没接触过。
@ianiceice repo指的是这个项目,就是你git clone 下来的文件夹,这个文件夹下面有个config文件夹。