我不想摧毁我网站上的所有用户。 但我想利用Django 1.5的定制可插拔用户模型。 这是我的新用户模型: class SiteUser(AbstractUser): site = models.ForeignKey(Site, null=True) 一切都与我的新模型在一个新的安装(我有其他的代码,以及这样做的一个很好的理由 – 所有这些在这里是无关的)。 但是,如果我把这个放到我的live站点和syncdb&migrate中,我会失去所有的用户,或者至less他们会在一个不同的孤立的表中,而不是为我的新模型创build的新表。 我对南方很熟悉,但基于这篇文章和我的一些试验,似乎它的数据迁移目前不适合这种特定的迁移。 所以我正在寻找一些方法,让南方为此工作或为了一些非南方的迁移(原始SQL,dumpdata / loaddata或其他),我可以在我的每个服务器上运行(Postgres 9.2)来迁移用户一旦新的表已经创build,而旧的auth.User表仍然在数据库中。
我有一个PostgreSQL 9.3数据库的实体化视图,很less发生变化(大约每天两次)。 但是当它发生时,我想立即更新它的数据。 以下是我到目前为止的想法: 有一个物化视图mat_view ,它使用一些join语句从表table1和table2获取数据。 每当table1或table2东西发生变化,我已经有一个触发器,更新一个小的configuration表config组成 table_name | mat_view_name | need_update ———–+—————+———— table1 | mat_view | TRUE/FALSE table2 | mat_view | TRUE/FALSE 因此,如果table1任何内容发生更改(每个语句都有UPDATE和DELETE上的触发器),则第一行中的need_update字段将设置为TRUE 。 table2和第二行也是一样的。 显然,如果need_update为TRUE,则物化视图必须刷新。 更新 :由于物化视图不支持规则(如下面评论中提到的@pozs),我会更进一步。 我会创build一个虚拟视图v_mat_view定义“ SELECT * FROM mat_view ”。 当用户在这个视图上做一个SELECT时,我需要创build一个规则ON SELECT,它执行以下操作: 检查mat_view是否应该更新( SELECT 1 FROM config WHERE mat_view_name='mat_view' AND need_update=TRUE ) 用UPDATE config SET need_update=FALSE where mat_view_name='mat_view'重置need_update标志UPDATE config SET […]
我有以下查询 SELECT DISTINCT pt.incentive_marketing, pt.incentive_channel, pt.incentive_advertising FROM test.pricing pt WHERE pt.contract_id = 90000 group by 1,2,3 order by pt.incentive_marketing; 上面的查询返回o / p,如附图所示 不过,我想用COALESCEreplace所有null值请让我知道如何可以在上面的SELECT查询中实现 现在我进一步使用coalesce修改查询如下 SELECT COALESCE( pt.incentive_marketing, '0' ), COALESCE(pt.incentive_channel,'0'), COALESCE( pt.incentive_advertising,'0') FROM test.pricing pt WHERE pt.contract_id = 90000 group by 1,2,3 其结果如图2所示。 我仍然收到一行空白值
我有一个泊坞窗容器中的服务器上的Postgresql。 我怎样才能从外面,即从我的本地计算机连接到它? 我应该采用什么样的设置来允许?
当我运行在Rails应用程序postgresql我的迁移我有以下通知 NOTICE: CREATE TABLE will create implicit sequence "notification_settings_id_seq" for serial column "notification_settings.id" NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "notification_settings_pkey" for table "notification_settings" 我的迁移文件包含088_create_notification_settings.rb class CreateNotificationSettings < ActiveRecord::Migration def self.up create_table :notification_settings do |t| t.integer :user_id t.integer :notification_id t.boolean :notification_on t.boolean :outbound end end def self.down drop_table :notification_settings end end 我想知道 […]
我对PostgreSQL相对来说比较新,我知道如何在SQL Server的左边填一个零,但是我正努力在PostgreSQL中弄清楚这一点。 我有一个数字列,其中最大位数为3,最小为1:如果是一位数字,则左边有两个零,如果是两位数字,则有1位,例如001,058,123。 在SQL Server中,我可以使用以下方法: RIGHT('000' + cast([Column1] as varchar(3)), 3) as [Column2] 这在PostgreSQL中不存在。 任何帮助,将不胜感激。
我只是安装Postgres,但似乎已经安装了9.3,我想从9.4开始 我只是从新的Ubuntu 14.04.1机器上安装apt-get install postgresql 。 http://www.postgresql.org/download/linux/ubuntu/ 说你可以做: apt-get install postgresql-9.4 但是当我尝试我得到: E: Couldn't find any package by regex 'postgresql-9.4 好的,所以我尝试添加PostgreSQL Apt Repository,但是找不到任何东西。 9.4还没有在包pipe理员呢? 我做了什么可怕的错误?
谷歌在这个结果是有点薄,但build议,这是不容易的。 我的具体问题是,我需要重新编号在两个相互关联的表中的ID,这样表B中有一个“table_a_id”列。 我不能先把表A重新编号,因为它的B中的孩子指向旧的ID。 我不能重新编号表B,因为他们会在创build之前指向新的ID。 现在重复三,四张表。 当我可以“开始交易;禁用引用完整性;对ID进行sorting;重新启用引用完整性;提交事务”时,我并不想真正摆脱个人关系。 Mysql和MSSQL都提供了这个functionIIRC,所以如果Postgres没有,我会感到惊讶。 谢谢!
PostgreSQL中有这样一个简单的替代方法吗? select table_name from user_tab_columns where table_name = myTable and column_name = myColumn; 然后我testing查询是否返回任何东西,以certificate列存在。 我知道,使用psql我可以单独find这些,但是这是需要在我正在编写的程序中产生一个结果来validation我的数据库表中存在一个请求的属性字段。
有没有办法重新设置PostgreSQL表的主键从1开始在填充表上重新开始? 现在它正在产生1000000以上的数字。 我想这一切都重置,并开始1,保持所有我现有的数据完好无损。