Das Verschieben einer Tabelle von einem Tablespace in einem anderen sollte nur in Ausnahmefällen erfolgen. Dies kann z.B. notwendig sein, wenn die Performance drastisch sinkt. Sämtliche Indizes dieser Tabelle werden gelöscht und müssen neu erstellt werden.
alter table [schema].[ursprungs_tabelle] move tablespace [ziel_tablespace];
Die Indizes müssen neu gebildet werden.
alter index [schema].[index] rebuild;
Mittwoch, 13. Juli 2011
Donnerstag, 7. Juli 2011
Rails Migrations mit Oracle Enhanced Adapter
Da Oracle für verschiedene numerische Datentypen nur den Datentyp NUMBER kennt, kann dies zu Problemen führen, wenn eine Rails-Applikation auf eine bereits bestehende Datenbank zurückgreift. Wird eine neue Tabelle mit Hilfe von Migrations angelegt, werden die Datentypen wie folgt zugewiesen:
Sind Integer-Werte in der bestehenden Datenbank mit NUMBER ohne Grössenangabe definiert, werden diese in der Rails-Applikation standardmässig als BigDecimal behandelt. Dies kann sich fehlerhaft auf die Applikation auswirken (Darstellungsprobleme, Vergleichsabfragen etc.).
Um das Problem zu lösen, können verschiedene Ansätze gewählt werden:
Wenn möglich, sollte der Datentyp auf der Datenbank angepasst werden (z.B. NUMBER(12)).
Mit der Option
Um die Einstellungen global zu ändern, kann die Methode is_integer_column aus der Klasse OracleEnhancedAdapter überschrieben werden.
Müssen nur spezifische Attribute angepasst werden, können für diese im Model die Getter-Methode überschrieben werden.
:boolean => number(1)
:integer => number(38)
:float => number
:decimal => decimal
Sind Integer-Werte in der bestehenden Datenbank mit NUMBER ohne Grössenangabe definiert, werden diese in der Rails-Applikation standardmässig als BigDecimal behandelt. Dies kann sich fehlerhaft auf die Applikation auswirken (Darstellungsprobleme, Vergleichsabfragen etc.).
Um das Problem zu lösen, können verschiedene Ansätze gewählt werden:
Wenn möglich, sollte der Datentyp auf der Datenbank angepasst werden (z.B. NUMBER(12)).
Mit der Option
emulate_integers_by_column_name
kann eingestellt werden, dass alle Datenbankfelder, welche auf ID enden, in der Applikation als Fixnum behandelt werden. Dazu kann die Datei config/initializers/oracle_enhanced.rb angelegt und mit folgendem Code abgefüllt werden: ActiveRecord::ConnectionAdapters::OracleEnhancedAdapter.emulate_dates_by_column_name = true
Um die Einstellungen global zu ändern, kann die Methode is_integer_column aus der Klasse OracleEnhancedAdapter überschrieben werden.
Müssen nur spezifische Attribute angepasst werden, können für diese im Model die Getter-Methode überschrieben werden.
def attr
self[:attr].to_i if self[:attr].kinf_of? Numeric
self[:attr]
end
Dienstag, 21. Juni 2011
jQuery Mobile Beta 1 veröffentlicht

Die Kompatibilität wurde auf Blackberry 5 und Opera Mini ausgedehnt. WP7 wurde bereits in der Alpha 4 unterstützt.
Mehr dazu im offiziellen Blog-Post
Freitag, 17. Juni 2011
Tutorial - Facebook Fanseiten Pinnwand auf Contao-Webseite einbinden
Nachfolgend eine Anleitung, wie man die Pinnwand einer Facebook-Fanseite in eine Webseite einbindet, die mit Contao administriert wird.
1) Dateien downloaden und Access Token generieren
Die Dateien von http://www.neosmart.de/social-media/facebook-wall downloaden und entpacken. Bei der Live Demo den Access Token generieren lassen, dazu muss man im Facebook eingeloggt sein.
2) Einstellungen bearbeiten
Die Datei „jquery.neosmart.fb.wall.js“ öffnen. Am Ende der Datei lassen sich die Einstellungen bearbeiten. Die wichtigsten Einstellungen:
id: Name der Fanseite, beispielsweise „fanseite“ bei www.facebook.com/fanseite
accessToken: Den generierten Access Token einfügen
3) Dateien hochladen und einbinden
Für die beiden javascript Dateien unter plugins den Ordner fbwall erstellen. Diese Dateien im entsprechenden Template einbinden:
Die css Datei beispielsweise in den Ordner „tl_files/css“ hochladen und einbinden:
Die beiden Bilder loader-small.gif und like.gif gemäss der css Datei ins richtige Verzeichnis hochladen.
4) javascript im Template einfügen
Folgenden javascript Code in das Template einfügen :
Den Access Token auch hier einfügen. Für die id http://graph.facebook.com/fanseite
aufrufen.
5) html einfügen
Im entsprechenden Artikel ein Inhaltselement html erstellen und dort
1) Dateien downloaden und Access Token generieren
Die Dateien von http://www.neosmart.de/social-media/facebook-wall downloaden und entpacken. Bei der Live Demo den Access Token generieren lassen, dazu muss man im Facebook eingeloggt sein.
2) Einstellungen bearbeiten
Die Datei „jquery.neosmart.fb.wall.js“ öffnen. Am Ende der Datei lassen sich die Einstellungen bearbeiten. Die wichtigsten Einstellungen:
id: Name der Fanseite, beispielsweise „fanseite“ bei www.facebook.com/fanseite
accessToken: Den generierten Access Token einfügen
3) Dateien hochladen und einbinden
Für die beiden javascript Dateien unter plugins den Ordner fbwall erstellen. Diese Dateien im entsprechenden Template einbinden:
<script src="plugins/fbwall/jquery-1.6.1.min.js" type="text/javascript"></script>
<script src="plugins/fbwall/jquery.neosmart.fb.wall.js" type="text/javascript"></script>
Die css Datei beispielsweise in den Ordner „tl_files/css“ hochladen und einbinden:
<link href="tl_files/css/jquery.neosmart.fb.wall.css" rel="stylesheet" type="text/css"/>
Die beiden Bilder loader-small.gif und like.gif gemäss der css Datei ins richtige Verzeichnis hochladen.
4) javascript im Template einfügen
Folgenden javascript Code in das Template einfügen :
<script type="text/javascript">
$(function(){
$('#fb_wall').fbWall({id:'',accessToken:''});
});
</script>
Den Access Token auch hier einfügen. Für die id http://graph.facebook.com/fanseite
aufrufen.
5) html einfügen
Im entsprechenden Artikel ein Inhaltselement html erstellen und dort
<div id=“fb_wall“></div>
eintragen.
Abonnieren
Posts (Atom)