对于我的应用程序,我必须支持更新方案,并且数据库可能会受到影响.
我希望能够在不安装中间版本的情况下从旧版本更新到最新版本.例如假设我有版本A(最旧的),B(中间版)和C版(新版本).我希望能够将版本A直接更新到版本C.对于应用程序文件,这很简单,我只需将旧版本替换为新版本.但是对于数据库,我不希望生成一个SQL脚本来将数据库模式从A直接更改为C,而是我想首先应用脚本将模式从A更改为B,从B更改为C.
如何存储SQL Server数据库的数据库版本?我可以设置任何特殊属性,而不是实现版本表吗?在我的代码(.NET)中,我想读取数据库版本,并相应地以正确的顺序执行更新SQL脚本.
我将使用SQL Server 2005和SQL Server 2008.
我的问题很简单,但我找不到任何GORM语法.
考虑以下课程:
class Article {
String text
static hasMany = [tags: String]
static constraints= {
tags(unique: true) //NOT WORKING
}
}
Run Code Online (Sandbox Code Playgroud)
我希望在我的约束中定义的每篇文章都有一个唯一的标记名称,但我不能使用上面的语法.显然,我需要在DB模式中使用以下内容:
create table article_tags (article_id bigint, tags_string varchar(255), unique (article_id , tags_string))
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
PS:我也坚持设置标签最小和最大尺寸的约束
我用这个函数来哈希我的密码:
// RETURNS: rAyZOnlNBxO2WA53z2rAtFlhdS+M7kec9hskSCpeL6j+WwcuUvfFbpFJUtHvv7ji
base64_encode(hash_hmac('sha384', $str . SC_NONCE, SC_SITEKEY, true));
Run Code Online (Sandbox Code Playgroud)
我在char(64)字段(MySQL -InnoDB)中存储哈希值.
我应该使用varchar(64)而不是char(64)吗?为什么?
编辑: 我用sha384更改了sha256.因为在这个例子中,sha256总是为我返回44个字节.抱歉令人困惑.现在它是64字节.
我需要一个关系数据库模式来存储vCard ver 3数据元素.
我没有阅读RFC并从头开始设计,而是希望看看已经完成此操作的人是否愿意分享他们的数据库设计.
我正在为数据库生成虚拟数据,一个属性正在使用TIMESTAMP(6).
谁能给我一个价值看起来如何的例子?
此外,我希望能够插入日期
即 03/18/2012 02:35 AM
所以它看起来像
INSERT INTO FLIGHT VALUES (1,'London Heathrow','Miami Airport','03/18/2012 02:35 AM','04/18/2012 13:35 PM');
Run Code Online (Sandbox Code Playgroud)
这可能吗?非常感谢...
编辑 - -
我怎样才能摆脱时间戳列巨大的空间

我正在尝试从PostgreSQL数据库创建备份,但收到以下错误:pg_dump:找不到匹配的模式
我以root身份登录并运行命令
pg_dump -f db.dump --format = plain --schema = existing_schema --username = userx --host = localhost databasename
输出\ dl:
List of relations
Schema | Name | Type | Owner
--------+-------------------------------------+-------+-------
public | existing_schema | table | userx
我正在考虑将numeric我的PG 9.2数据库模式的列转换为money,主要是因为我看到(或想象?)在数据库级别而不是应用程序级别处理舍入和格式化的好处.这个决定会有一些缺点吗?
我公司使用内部管理软件存储产品.他们希望将所有产品转置到MySql数据库中,以便他们可以在公司网站上提供他们的产品.
注意:他们将继续使用自己的内部软件.该软件可以以各种文件格式(包括XML)导出所有产品.
同步不一定是实时的,他们满足于每天(深夜)同步MySql数据库一次.
此外,他们软件中的每个产品都有一个或多个图像,然后我还要提供网站上的图像.
以下是XML导出的示例:
<?xml version="1.0" encoding="UTF-8"?>
<export_management userid="78643">
<product id="1234">
<version>100</version>
<insert_date>2013-12-12 00:00:00</insert_date>
<warrenty>true</warrenty>
<price>139,00</price>
<model>
<code>324234345</code>
<model>Notredame</model>
<color>red</color>
<size>XL</size>
</model>
<internal>
<color>green</color>
<size>S</size>
</internal>
<options>
<s_option>aaa</s_option>
<s_option>bbb</s_option>
<s_option>ccc</s_option>
<s_option>ddd</s_option>
<s_option>eee</s_option>
<s_option>fff</s_option>
...
<extra_option>ggg</extra_option>
<extra_option>hhh</extra_option>
<extra_option>jjj</extra_option>
<extra_option>kkk</extra_option>
...
</options>
<images>
<image>
<small>1234_0.jpg</small>
</image>
<image>
<small>1234_1.jpg</small>
</image>
</images>
</product>
<product id="5321">
...
</product>
<product id="2621">
...
</product>
...
</export_management>
Run Code Online (Sandbox Code Playgroud)
关于我该怎么做的一些想法?
如果我的问题不明确,请告诉我.谢谢
编辑: 我使用这样的SQL为每个表填充XML数据:
LOAD XML LOCAL INFILE '/products.xml' INTO TABLE table_name ROWS IDENTIFIED BY '<tag_name>';
Run Code Online (Sandbox Code Playgroud)
然后,检查表格内容我可以看到字段"id"(主键)自动为每个表中的每个相应产品行保持相同.这是正确的,令人惊讶的真棒!
现在的问题是参数,<options>因为它包含具有相同名称( …
我正在尝试为候选人开发数据库模型,他们的注册考试和考试成绩.这就是我到目前为止所做的.但我不确定是否在正确的轨道上,特别是从检查表到检查结果表.为特定候选人编写一个插入sql代码以供检查人群使用是多么容易
考试类型分为科学,艺术和社会科学.它们每个都有4个组件

database database-design uml relational-database database-schema
我想知道如何正确地设置主键的关系.例如,我们有ER图表,其中包含元素:
为了将其转换为关系模型,我们应该做一些技巧.上述处理关系的主键,但所有的元素都在自然键 -所以我们可以把它们原样或更换代理键.
考虑一些情况.
密钥属性是一个名称 - 因此它必须是类型CHAR或VARCHAR.通常,名称成为关键属性.
两个(或更多)识别关系成为关系的复合主键(由外键组成).
识别具有弱密钥属性的关系也成为复合主密钥.
关联实体通常具有两个或多个识别关系,因此它们是连接关系(连接表).
如何为关系设置主键以处理所有上述情况(可能还有一些我没有提及的情况)?
如何避免使用代理键以及在哪些情况下他们是必要的?
如何设置主键的数据类型?
如果必须将复合主键传递给子关系,是否应该用代理替换?
在我的视图中使用代理键的优点和缺点:
它们是紧凑的(通常是类型的INT),有时可以替代复合键
当他们在外国钥匙时,他们是说明性的
他们被无痛地编入索引
他们是数字而且毫无意义.例如,我希望在我的界面应用程序中填写连接表 - 所以我将别无选择,只能将数字联系起来 …
database database-design entity-relationship relational-database database-schema
database-schema ×10
database ×2
mysql ×2
postgresql ×2
currency ×1
grails ×1
grails-orm ×1
hash ×1
money-format ×1
oracle ×1
oracle11g ×1
pg-dump ×1
php ×1
sql ×1
sql-server ×1
uml ×1
vcf-vcard ×1
xml ×1