www.sqlservercentral.com上有一篇关于单元测试SQL的文章.
在我的TDD Guy说得好,我们可以测试数据库的东西.
我的系统架构师说,我们测试的逻辑是什么?数据库中不应该有任何逻辑,你应该在数据库中做的唯一事情就是选择,更新或插入.
因此,如果您觉得需要对SQL进行单元测试,那么您是否真的非常彻底,过于务实,还是设计气味的标志?
我目前在我的数据库中有多个表,它们包含相同的"基本字段",如:
name character varying(100),
description text,
url character varying(255)Run Code Online (Sandbox Code Playgroud)
但我有一个基本的表,这是例子的多个专业化tv_series有田season,episode,airing,而movies表中有release_date,budget等等.
现在起初这不是问题,但我想创建第二个表,linkgroups使用这些专用表的外键调用.这意味着我会以某种方式将其自身标准化.
我听说过解决这个问题的一种方法是使用key-value-pair-table 对其进行规范化,但我不喜欢这个想法,因为它是一种"数据库中的数据库"方案,我没有办法要求某些键/字段也不需要特殊类型,以后获取和排序数据将是一个巨大的痛苦.
所以我现在正在寻找一种方法来在多个表之间"共享"主键,甚至更好:通过使用通用表和多个专用表来规范化它.
我是一个postgreSQL新手,我找不到任何有用的介绍使用psql命令.至少我认为这是我想要使用的命令.
在postgreSQL中是否可以简单地连接到服务器然后列出,创建,使用和检查数据库?
我希望能够使用psql用MySQL做这样的事情(我删除了很多额外的行):
连接时没有指定数据库 - 我似乎无法用psql做到这一点:
$ mysql -u root -prootpassword
Welcome to the MySQL monitor. Commands end with ; or \g.
Server version: 5.5.28 MySQL Community Server (GPL)
Run Code Online (Sandbox Code Playgroud)
我可以使用mysql列出数据库,但posgreSQL命令SHOW似乎没有这样做.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| ocdp |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.04 sec)
Run Code Online (Sandbox Code Playgroud)
我可以切换数据库.
mysql> use ocdp;
Database changed
Run Code Online (Sandbox Code Playgroud)
我无法在psql中弄清楚这个命令:
mysql> show tables;
+---------------------------------+
| Tables_in_ocdp |
+---------------------------------+
| OCAddresses |
| OCStreets …Run Code Online (Sandbox Code Playgroud) 我知道有几种方法可以在角度js中加载指标(例如:https://gist.github.com/maikeldaloo/5140733).
但是它们要么必须为每一个呼叫配置,要么 - 如果它们按照我的意愿全局行动 - 只应用于http请求,而不是应用于服务中使用的$ q-promises.
到目前为止,我见过的全球负荷指标都适用
$httpProvider.responseInterceptors.push(interceptor);
Run Code Online (Sandbox Code Playgroud)
是否有类似的东西$q,比如$qProvider.reponseInterceptors?如果没有,那么实现这种功能最方便的方法是什么?例如,是否可以使用某种类型的装饰器图案?
我在RedShift中有一张桌子.如何查看它使用了多少磁盘空间?
使用Toad for Oracle,我可以生成完整的DDL文件,描述Oracle模式的所有表,视图,源代码(过程,函数,包),序列和授权.一个很棒的功能是它将每个DDL声明分成不同的文件(每个对象的文件,无论是表,过程,视图等),所以我可以编写代码并在没有数据库连接的情况下查看数据库的结构.使用DDL文件的另一个好处是,每次我需要查看表定义时,我都不必连接到数据库来生成DDL.在Toad for Oracle中,执行此操作的方法是转到数据库 - >导出,然后根据要导出的内容选择相应的菜单项.它为您提供了当时数据库的精美图片.
是否有导出的"批处理"工具
- 所有表DDL(包括索引,检查/引用约束)
- 所有源代码(每个过程,函数的单独文件)
- 所有视图
-
来自SQL Server的所有序列?
那么PostgreSQL呢?
MySQL怎么样?
安格尔怎么样?
我不喜欢该工具是开源还是商业.
我们编写了一个小工具,显示当前正在运行的查询.我们从pg_stat_activity获取当前正在运行的查询.
问题是:我们不知道给查询的参数.我们只能看到占位符$ 1,$ 2等.
有没有办法获取当前运行的查询的参数?
唯一的解决方法可能是启用查询日志并从查询日志中解析参数,但这将是一个非常肮脏和缓慢的解决方案.
我正在通过brew安装.
错误消息:
我打电话的时候
postgres
Run Code Online (Sandbox Code Playgroud)
我收到错误
LOG: could not bind IPv6 socket: Address already in use
HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
LOG: could not bind IPv4 socket: Address already in use
HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
LOG: could not bind IPv6 socket: Address already in use
HINT: Is another postmaster already running on port 5432? If not, …Run Code Online (Sandbox Code Playgroud)
>>> import psycopg2
Traceback (most recent call last):
File "", line 1, in
File "C:\Python26\lib\site-packages\psycopg2\__init__.py", line 60, in
from _psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
ImportError: DLL load failed: The application has failed to start because its si
de-by-side configuration is incorrect. Please see the application event log for
more detail.
我在尝试导入psycopg2时遇到此错误..我已经搜索了几天,但没有找到解决方案.我已经尝试安装Visual C++ 2008包,但我仍然得到相同的错误.
我需要设置worldship来从我们的一个postgres数据库中提取.我需要它,以便包按ID排序.我没有办法(我知道)让worldship发送order by子句,所以我需要让返回的记录的默认值由id返回.
在第二个注释我不知道postgres默认排序它在最后一次更改记录时看起来像所以如果我写了两个记录id 1,2然后在我运行查询时更改记录2它返回记录2成为第一.
postgresql ×7
sql ×3
angularjs ×1
asynchronous ×1
ddl ×1
django ×1
javascript ×1
mysql ×1
paraccel ×1
psql ×1
psycopg2 ×1
python ×1
sockets ×1
sql-server ×1
tcp ×1
tdd ×1
unit-testing ×1