我有一个项目,其中所有.yml文件有扩展名. yml.tt举例来说:
/config/database.yml.tt
字符串我该怎么做才能让它工作?我的rake db:migrate不知道如何读取它。
rake db:migrate
cuxqih211#
我不知道什么是tt扩展名,但具有敏感和可变信息的配置文件通常被放置到.gitignore中,而不是真实的文件提供示例文件(通常它们标记为.example扩展名-例如here)。您应该将文件复制到config/database.yml,更改它(如有必要)并运行rake db:migrate详细解释:你有一个root密码在本地数据库-这意味着你需要在database.yml中提供它。但是其他开发人员有自己的数据库设置,他们将需要在每次代码更新后更改此文件并设置自己的密码。当此文件在.gitignore中时,您可以轻松地为自己的目的设置环境(您可以查看示例文件),而不会破坏其他人的本地环境。
tt
.gitignore
.example
config/database.yml
database.yml
wlzqhblo2#
这是一个老问题,但是现在有更多的工具可以用来构建模板系统,我想用另一种方式来回答这个问题。.tt扩展名通常来自Thor和ERB模板,它可能是Thor模板的简写。当你发现这类文件.tt时,它可能支持基于模板的自动内容生成过程,在你的例子中,他们试图定义一个模板来自动构建数据库.yml的配置。这就是Rails中生成器的工作方式,你可以看到Rails Bytes或Ruby Bytes以获得更多信息。
.tt
2条答案
按热度按时间cuxqih211#
我不知道什么是
tt
扩展名,但具有敏感和可变信息的配置文件通常被放置到.gitignore
中,而不是真实的文件提供示例文件(通常它们标记为.example
扩展名-例如here)。您应该将文件复制到
config/database.yml
,更改它(如有必要)并运行rake db:migrate
详细解释:你有一个root密码在本地数据库-这意味着你需要在
database.yml
中提供它。但是其他开发人员有自己的数据库设置,他们将需要在每次代码更新后更改此文件并设置自己的密码。当此文件在.gitignore
中时,您可以轻松地为自己的目的设置环境(您可以查看示例文件),而不会破坏其他人的本地环境。wlzqhblo2#
这是一个老问题,但是现在有更多的工具可以用来构建模板系统,我想用另一种方式来回答这个问题。
.tt扩展名通常来自Thor和ERB模板,它可能是Thor模板的简写。
当你发现这类文件
.tt
时,它可能支持基于模板的自动内容生成过程,在你的例子中,他们试图定义一个模板来自动构建数据库.yml的配置。这就是Rails中生成器的工作方式,你可以看到Rails Bytes或Ruby Bytes以获得更多信息。