我想知道创建和维护数据库映射和SQL脚本的最佳方法是什么.我知道我更喜欢在文本编辑器上手工编写SQL脚本(以及在一张纸上设计我旁边的地图),而其他人则更喜欢使用数据库地图软件(MySQL Workbench,Visual Studio) ...... 本帖中列出的一些内容)自动生成脚本.
两种解决方案都有优点和缺点.我看到了这些优点:
你怎么看,你走哪条路?
我的TIMESTAMPS正在发生一些非常恼人的事......
我在我的表中有一个"createdat","deletedat"和"updatedat"列...我已经设置了我的deletedat并将其更新为NULL和DEFAULT NULL ...但是,当添加新记录时,NOW( )函数总是针对deletedat和updatedat执行,而不是仅仅将其保留为NULL.
所以我最终得到:00:00:00 ...
为什么它不是默认为NULL?
这是我的表:

这是插入时(注意选择NOW功能):

执行以下SQL:
INSERT INTO `MYTABLE_DEV`.`messages` (`id`, `fromUserId`, `toUserId`, `subject`, `body`, `createdat`, `updatedat`, `deletedat`) VALUES (NULL, '1', '3', 'Message', 'This is another message.', CURRENT_TIMESTAMP, NOW(), NOW());
Run Code Online (Sandbox Code Playgroud) 我正在寻找有关使用国际化的最佳实践的一些提示和建议.我一直在四处寻找,但我对我读到的内容并不满意.我读过的大部分文章都集中在使用I18n的yml文件,这在我的情况下是行不通的.
我目前有几个带英文文本的数据库表.其中一些表的文本字段长度只有几句,有些则是6段以上的文本.我想用西班牙语这些字段.
我目前正在考虑的方法是使用I18n-active记录gem并拥有1个翻译表,该应用程序将用于应用程序中的所有翻译
class CreateTranslations < ActiveRecord::Migration
def self.up
create_table :translations do |t|
t.string :locale
t.string :key
t.text :value
t.text :interpolations
t.boolean :is_proc, :default => false
t.timestamps
end
end
def self.down
drop_table :translations
end
end
Run Code Online (Sandbox Code Playgroud)
这是最好的方法吗?
一方面,所有翻译都将很好地存储在一个表中.另一方面,每次用户向数据库查询I18n内容时.应用程序将在原始表中查询密钥,然后查询转换表.另一个值得关注的是,翻译表将是巨大的,有一个庞大的行,因为它会被存储为应用程序(从章节标题[三言两语]文本的整个页面的一切所有的翻译量.
任何信息表示赞赏.谢谢
我正在INSERT为一个尚不存在的数据库创建一组SQL 语句,我将它们保存到文件中.
如何在不访问特定数据库的情况下使用Perl强大的DBI模块来创建这些INSERT语句.特别是,看起来使用该$dbh->quote()函数需要我实例化$dbh与数据库的连接.
好吧,我在术语水平分区和分片之间有点混淆.
被分片只是水平分区跨多个数据库?
我是Web开发的新手.我很好奇人们是怎么做到的.
我正在编写一些使用mysql DB的PHP代码.我现在在代码中硬编码了密码.所有开发人员都可以检查此代码,因此每个人都可以访问密码.对我来说似乎非常错误.最重要的是,我可以想到一些并发症.我以子弹形式列出问题 -
在代码中硬编码的密码是错误的.我不希望所有开发人员都可以访问它,因为所有开发人员都可以查看代码.
如何区分生产和开发服务器/凭证?我有相同的文件包含prod和dev DB凭据.处理这个问题的最佳方法是什么?
我想防止懒惰/醉酒时间,以便开发人员不删除/删除表等.我显然可以有不同的访问不同的开发人员.所有这一切的解决方案是什么?
可能的解决方案:代码中没有密码.请devs自己添加密码,并确保它从未签入.
解决方案的问题:繁琐的部署过程.必须手动为生产/ QA部署添加密码,并确保每次部署前都能够连接到数据库.听起来太痛苦且容易出错.人们通常做什么?
也在同一张纸条上(与上述问题有关)
非常感谢任何输入.
此问题旨在与软件/平台无关.我只是在寻找通用的SQL代码.
考虑以下(非常简单的例子)表:
Table: Authors id | name 1 | Tyson 2 | Gordon 3 | Tony etc Table: Books id | author | title 1 | 1 | Tyson's First Book 2 | 2 | Gordon's Book 3 | 1 | Tyson's Second Book 4 | 3 | Tony's Book etc Table: Stores id | name 1 | Books Overflow 2 | Books Exchange etc Table: Stores_Books id | store | book 1 | 1 | 1 2 | 2 …
我正在用Python编写心理学实验.我需要在某处存储用户信息和分数,我需要它作为Web应用程序(并且是安全的).
不太了解这个 - 我正在考虑XML数据库,BerkleyDB,sqlite,一个openoffice电子表格,或者我对python"shelve"库非常感兴趣.(我的大部分信息来自这个帖子:http://developers.slashdot.org/story/08/05/20/2150246/FOSS-Flat-File-Database
数据:我认为我将拥有最多1000个用户.对于我必须存储的每个用户......
非常粗略估计,每个用户每天产生100次试验.所以最多每天10k数据点.它需要以这种方式运行大约3个月,所以大约1米的数据点.安全乘数2x为我提供了一个可以处理2m数据点的数据库的目标.
((注意:我可以将试验响应数据存储为单独的数据点,或者将试验分组到不同长度的Python列表对象(用户"会话").后者会显着降低数据库条目数,但不会减少数据量这有关系吗?怎么样?))
我想要一个能够(至少)工作的解决方案,直到我达到这1000个用户级别.如果我的程序在这个级别之外很受欢迎,我可以在更强大的数据库中做一些工作模型.还重申必须可以轻松部署为Web应用程序.
除了这些基本要求之外,我只想要最简单的方法来实现这一目标.我很绿.
谢谢阅读
Tr3y
好的,一家小公司可以在升级他们的数据库/代码时通知他们的用户,然后404他们的网站.但这有点难看,并且不鼓励定期迭代.
真正的大公司(如Facebook)如何在没有停机的情况下进行迁移?
database ×10
mysql ×4
sql ×3
api ×1
dbi ×1
diagram ×1
genome ×1
object ×1
partitioning ×1
perl ×1
php ×1
phpmyadmin ×1
python ×1
security ×1
sharding ×1
sql-scripts ×1
sql-server ×1
timestamp ×1